The present invention relates to a robot that performs predetermined operations in a remote control mode, or based on operation commands which are sent from a personal computer (PC), or based on a program which runs automatically when predetermined conditions occur. More particularly, the present invention relates to a robot where both a RS485 communication scheme servo system, which operates with differential signals produced in response to control signals, and a transistor-transistor logic (TTL) communication scheme servo system can be used in a mixed mode.
There have been many recent developments in the field of hobby robots such as biped walking humanoid robots, with a number of hobby robot competitions being held. Like the human body, robots of this type have movable joints for wrists, elbows, shoulders, neck, waist, knees, and ankles. Servos, acting as actuators, which have rotating parts, are mounted on each joint.
FIG. 12 is a schematic diagram illustrating a humanoid robot. The robot has joint parts 1-6 and a body part 7. With reference also to FIGS. 13-16, servos 10 disposed in joints 1-6 are controlled synchronously, based on control signals from a controller 20, to execute sequential operations such as walking. The whole of the robot is formed by combining a number of frame parts 8 together. The head, body, legs, arms and the like are also formed by assembling frame parts 8 together. Each frame part 8 has cut-out sections 8a to provide space to accommodate the servos 10 while also providing weight savings and ease of assembly.
As shown in FIGS. 13(a)-14, each frame part 8 includes a reception part 8a, on the end of which a servo 10 is mounted. Each frame part 8 is journaled using a rotating disc 12 and stopper 13, which can rotate with reference to the rotational shaft 11 of the servo 10, thus forming joints 1-6. For each of the joints 1-6, one or two servos 10 are disposed in conformation with the movement of one or two of three axes, namely, pitch axis, roll axis, and yaw axis.
The body 7 includes a controller 20 and a power source, here a secondary battery contained therein. As shown in FIG. 15, the controller 20 and servos 10 are connected together using a transmission path 15 which includes signal lines, a ground line, and power lines. The controller 20 outputs control signals based on received operation commands to control the servos 10.
As shown in FIG. 16, the controller 20 comprises a control circuit 21 for producing control signals for the servos 10, a power source 22, and a power voltage converter circuit, or regulator, 23 for converting the power source voltage of the power source 22 into, for example, 5 volts, adapted for the controller circuit 21. The voltage of the power source 22 depends on the type of secondary battery. For example, plural sets of cells are combined together to use seven to twelve-volt batteries. Moreover, the control circuit 21 includes an arithmetic part 24; a memory 26, including a rewritable ROM such as an EEPROM, for storing programs corresponding to operation commands or the setting values of each servo 10, or a RAM for temporarily storing communication data; an interface 25a for receiving operation commands received by a receiver 27; and an interface 25b for interacting with the servos 10.
For receiving an operation command, the interface 25a is linked to a personal computer 29 and uses the RS232C serial communication scheme. When radio communication is performed using a dedicated controller, such as a transmitter 28, the receiver 27 is connected to the control circuit 21 via the interface 25a. The transmitter 28 transmits operation commands to the receiver 27. This system may employ, for example, the 2.4 GHz band Bluetooth® communication scheme. Bluetooth is a registered certification mark of Bluetooth SIG Inc.
The operation commands are created by coding basic actions including “rise”, “walk”, “crouch”, “straddle”, “turn head”, and the like, and are transmitted to the control circuit 21 through the personal computer 29 or the transmitter 28. In contrast, the control circuit 21 programs a predetermined sequence of operations such as “walk”, “rise” and the like, and then stores them in the memory 26.
In order to control the robot, the transmitter 28 or the personal computer 29 transmits operation commands to the control circuit 21. The control circuit 21 controls the rotational angle and speed of each servo 10, according to the type of operation command, thus realizing the desired movement, for example, “walking”. In addition, the robot also has an automatic execution mode for executing a sequence of operations by executing a program sequentially. The controller 20 has three axis acceleration sensors (not shown) to detect the robot's own position. For example, when the robot falls down, the rising operation differs in the face-up state and in the face-down state. In such a case, when the controller receives the operation command for “rising”, the controller determines its own current position so that the rising operation can be carried out according to each position.
The RS485 half-duplex communication scheme may be adopted for communication between the controller 20 and the servos 10. As for the servos 10 previously described, when attempting to emulate the motion of a human joint, one robot will require twenty or more servos 10. However, the use of the RS485 scheme allows joints to be connected to forty or more servos. Some communications between the controller 20 and the servos 10 employ the TTL scheme which uses two-valued signals comprising a high (H) level and a low (L) level. The servo 10 has sensors that measure information on the rotational angle, the current flowing through the servo, and the temperature of the servo 10.
This information is fed back to the controller 20 to reflect the control of the controller 20. For that reason, like the controller 20, each servo 10 includes transmission/receiving drivers and a power voltage converter circuit in addition to a signal processing controller. In the configuration of the above-mentioned robot, splitting the transmission line facilitates routing of conductor wiring. For that reason, hubs (not shown), each of which divides a single transmission path into plural paths, are disposed at desired points in a robot, thus facilitating the routing of a transmission line. Such a robot is disclosed in Japanese Patent Application No. 2006-135552 and “Robot Life, March 2007”, pp. 136-139, issued by NESTAGE Co., Ltd., the contents of which are hereby incorporated by reference.
The RS485 communication scheme, which uses differential signals, is virtually immune to noise and to the effect of the resistance of a single cable, that is a transmission path, or the load resistance of a servo. This feature allows a large number of servos to be incorporated and moreover, advantageously facilitates the routing of cables. However, the RS485 scheme driver is expensive, thus increasing the cost of servos as a whole. In contrast, the TTL communication scheme is adversely affected by the resistance of the transmission path and by the load resistance of servos. The distal end of the transmission path is more susceptible to the influence of noise. Therefore, unlike the RS485 scheme, the TTL scheme has the problem that the length of a single transmission path must be short and that the number of connectable servos is small.
However, many types of servos of different torque and size have been conventionally used for hobby purposes other than in robots, for example, in model aircrafts. The TTL scheme allows those servos to be used in a variety of applications relatively easily. The TTL scheme can also keep down the cost of servos because of the reduced cost of the driver. Moreover, there is the advantage that a wide selection of products is available.